//
//  TimerButton.m
//  iOSTools
//
//  Created by BaizYi on 2018/12/28.
//  Copyright © 2018 YJY. All rights reserved.
//

#import "TimerButton.h"

@implementation TimerButton

#pragma mark - 按钮倒计时
+(void)codeBtnLow:(UIButton *)btn{
    
    btn.userInteractionEnabled = NO;
    //    self.registerBtn.enabled = YES;
    //倒计时时间
    __block int timeout =  59;
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
    dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC, 0.0 * NSEC_PER_SEC);;
    
    dispatch_source_set_event_handler(timer, ^{
        if (timeout > 0) {
            dispatch_async(dispatch_get_main_queue(), ^{
                [btn setTitle:[NSString stringWithFormat:@"重新获取(%d)",timeout] forState: UIControlStateNormal];
                timeout -- ;
            });
        }else if(timeout == 0){
            //取消定时器
            dispatch_source_cancel(timer);
            dispatch_async(dispatch_get_main_queue(), ^{
                [btn setTitle:@"获取验证码" forState: UIControlStateNormal];
                btn.userInteractionEnabled = YES;
            });
        }
    });
    //启动定时器
    dispatch_resume(timer);
}

@end
